﻿Imports Entidad
Imports Negocio
Imports Utilitario
Public Class frmLogueo

    Dim negocio1 As New EmpresaNegocio
    Dim negocio2 As New SucursalNegocio
    Dim negocio3 As New UsuarioNegocio
    Dim util As New Utiles

    Sub limpiar()
        cboEmpresa.SelectedIndex = 0
        cboSucursal.SelectedIndex = 0
        txtUsuario.Text = ""
        txtClave.Text = ""
        txtUsuario.Focus()
    End Sub

    Sub cargarEmpresas()
        If negocio1.listarEmpresas.Tables(0).Rows.Count <> 0 Then
            With cboEmpresa
                .DataSource = negocio1.listarEmpresas.Tables(0)
                .ValueMember = "CIA"
                .DisplayMember = "CIA_Descripcion"
            End With
        Else
            cboEmpresa.DataSource = Nothing
        End If
    End Sub

    Sub cargarSucursales(codigo As String)
        If negocio2.listarSucursales(codigo).Tables(0).Rows.Count <> 0 Then
            With cboSucursal
                .DataSource = negocio2.listarSucursales(codigo).Tables(0)
                .ValueMember = "SUC"
                .DisplayMember = "SUC_Descripcion"
            End With
        Else
            cboSucursal.DataSource = Nothing
        End If
    End Sub

    Sub logueo()
        Dim validado As Usuario = Nothing
        Dim codAlmacen As String = "00"
        Dim codCIA As String = cboEmpresa.SelectedValue.ToString
        Dim codSUC As String = cboSucursal.SelectedValue.ToString

        Dim usu As String = txtUsuario.Text.Trim
        Dim clave As String = txtClave.Text.Trim

        Dim usuario As New Usuario(codCIA, codSUC, usu, Nothing, clave, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing)

        validado = negocio3.logueoSistema(usuario)

        If txtUsuario.Text.Trim <> "" Then
            If txtClave.Text.Trim <> "" Then
                If validado IsNot Nothing Then
                    If validado.USU_Activo = "1" Then
                        If validado.USU_LogPc = "" Then
                            If validado.USU_Contrasenia.Equals(clave) Then
                                usuariDatos = validado.USU_Descripcion
                                usuarioPersona = validado.USU_Codigo
                                frmMenu.Show()
                                'frmAsignaPickeador.Show()
                                'frmImpresionBarras.Show()
                                'Me.Close()
                                Me.Hide()
                                'Me.Close()
                            Else
                                util.mensaje("La contraseña es incorrecta.")
                                txtClave.Text = ""
                                txtClave.Focus()
                            End If
                        Else
                            util.mensaje("Acceso denegado.")
                            txtClave.Text = ""
                            txtUsuario.Text = ""
                            txtUsuario.Focus()
                        End If
                    Else
                        util.mensaje("Su usuario se encuentra inactivo.")
                        txtClave.Text = ""
                        txtUsuario.Text = ""
                        txtUsuario.Focus()
                    End If
                Else
                    util.mensaje("El usuario no existe.")
                    limpiar()
                End If
            Else
                util.mensaje("La contraseña no se ha ingresado.")
                txtClave.Focus()
            End If
        Else
            util.mensaje("El usuario no se ha ingresado.")
            limpiar()
        End If
    End Sub

    Sub salir()
        Me.Dispose()
        Me.Close()
    End Sub

    Private Sub frmLogueo_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        salir()
    End Sub

    Private Sub frmLogueo_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        txtUsuario.Focus()
        cargarEmpresas()
    End Sub

    Private Sub btnLimpiar_Click(sender As System.Object, e As System.EventArgs) Handles btnLimpiar.Click
        limpiar()
    End Sub

    Private Sub cboEmpresa_SelectedValueChanged(sender As Object, e As System.EventArgs) Handles cboEmpresa.SelectedValueChanged
        cargarSucursales(cboEmpresa.SelectedValue.ToString)
    End Sub

    Private Sub btnIngresar_Click(sender As System.Object, e As System.EventArgs) Handles btnIngresar.Click
        logueo()
    End Sub

    Private Sub btnSalir_Click(sender As System.Object, e As System.EventArgs) Handles btnSalir.Click
        salir()
    End Sub

    Private Sub txtClave_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtClave.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            logueo()
        End If
    End Sub
End Class